class Jackson2Tokenizer
extends java.lang.Object
Function
to transform a JSON stream of arbitrary size, byte array
chunks into a Flux<TokenBuffer>
where each token buffer is a
well-formed JSON object.Modifier and Type | Field and Description |
---|---|
private int |
arrayDepth |
private ByteArrayFeeder |
inputFeeder |
private int |
objectDepth |
private JsonParser |
parser |
private TokenBuffer |
tokenBuffer |
private boolean |
tokenizeArrayElements |
Modifier | Constructor and Description |
---|---|
private |
Jackson2Tokenizer(JsonParser parser,
boolean tokenizeArrayElements) |
Modifier and Type | Method and Description |
---|---|
private <any> |
endOfInput() |
private boolean |
isTopLevelArrayToken(JsonToken token) |
private <any> |
parseTokenBufferFlux() |
private void |
processTokenArray(JsonToken token,
java.util.List<TokenBuffer> result) |
private void |
processTokenNormal(JsonToken token,
java.util.List<TokenBuffer> result) |
static <any> |
tokenize(<any> dataBuffers,
JsonFactory jsonFactory,
boolean tokenizeArrayElements)
Tokenize the given
Flux<DataBuffer> into Flux<TokenBuffer> . |
private <any> |
tokenize(DataBuffer dataBuffer) |
private void |
updateDepth(JsonToken token) |
private final JsonParser parser
private final boolean tokenizeArrayElements
private TokenBuffer tokenBuffer
private int objectDepth
private int arrayDepth
private final ByteArrayFeeder inputFeeder
private Jackson2Tokenizer(JsonParser parser, boolean tokenizeArrayElements)
public static <any> tokenize(<any> dataBuffers, JsonFactory jsonFactory, boolean tokenizeArrayElements)
Flux<DataBuffer>
into Flux<TokenBuffer>
.dataBuffers
- the source data buffersjsonFactory
- the factory to usetokenizeArrayElements
- if true
and the "top level" JSON
object is an array, each element is returned individually, immediately
after it is received.private <any> tokenize(DataBuffer dataBuffer)
private <any> endOfInput()
private <any> parseTokenBufferFlux() throws java.io.IOException
java.io.IOException
private void updateDepth(JsonToken token)
private void processTokenNormal(JsonToken token, java.util.List<TokenBuffer> result) throws java.io.IOException
java.io.IOException
private void processTokenArray(JsonToken token, java.util.List<TokenBuffer> result) throws java.io.IOException
java.io.IOException
private boolean isTopLevelArrayToken(JsonToken token)